Python:Lasso方法、GM预测模型、神经网络预测模型之财政收入影响因素分析及预测

您所在的位置:网站首页 python做神经网络 预测 Python:Lasso方法、GM预测模型、神经网络预测模型之财政收入影响因素分析及预测

Python:Lasso方法、GM预测模型、神经网络预测模型之财政收入影响因素分析及预测

#Python:Lasso方法、GM预测模型、神经网络预测模型之财政收入影响因素分析及预测| 来源: 网络整理| 查看: 265

问题重述

通过研究,发现影响某市目前及未来地方财源的因素。结合文中目标:(1)选择模型,找出影响财政收入的关键因素;(2)基于关键因素,选择预测方法、模型预测未来收入。

具体来讲

本文分析了地方财政收入、增值税收入、营业税收入、企业所得税收入、个人所得税收入的影响因素并对未来两年采用灰色预测(GM(1,1))并以已有年度序列训练神经网络(NN),再以得到的模型预测包括未来两年在内的所有年份收入的预测值,由此可以根据预测相比于实际值情况及未来收入变化作出相应的决策判断。

文中的操作流程步骤非常值得学习,思路很清晰(实际类似问题可类比此类框架):

从统计局网站及各统计年鉴搜集该市财政收入及各类别收入相关数据; 数据预处理,得到建模用数据,构建LassoLars变量选择模型; 根据所选择变量建立单变量GM(1,1)Model预测该变量序列下年值,及根据所选变量(特征变量)及收入(类变量,标签变量)构建人工神经网络模型(训练模型) 将由GM(1,1)得到的个所选变量的预测值数据所得到的神经网络(模型预测),从而得到各种收入的预测值 方法、模型及代码 Lasso方法:

线性回归的L1正则化通常称为Lasso回归,一般来说,对于高维的特征数据,尤其线性关系是稀疏的,我们会采用Lasso回归。或者是要在一堆特征里面找出主要的特征,那么Lasso回归更是首选了。Lasso回归的损失函数优化方法常用的有两种,坐标轴下降法和最小角回归法(Least Angle Regression)。Lasso类采用的是坐标轴下降法,这里LassoLars模型采用的是最小角回归法。详细介绍参见文末Ref。

 

1 #导入使用的模块 2 import os 3 import numpy as np 4 import pandas as pd 5 from sklearn.linear_model import LassoLars 6 from sklearn.linear_model import Lasso 7 from keras.models import Sequential #有的同学可能会遇到 kernel died,restarting的问题,可参见我的另一片文章 8 from keras.layers.core import Dense, Activation 9 import matplotlib.pyplot as plt 10 #import tensorflow as tf 11 12 # 13 filepath='../data/data1.csv' 14 data=pd.read_csv(filepath) 15 des=data.describe() 16 r=des.T 17 r=r[['min','max','mean','std']] 18 np.round(r,2) # 保留2位小数,四舍六入五留双(五留双即遇五看五前面是偶数则保留,奇数进位) 19 #np.round([0.15,0.25,0.14,0.16],1) # array([0.2, 0.2, 0.1, 0.2]) 20 np.round(data.corr(method='pearson'),2) # method={'pearson','spearman','kendall'},计算相关系数,相关分析 21 22 model = LassoLars(alpha=1) # LASSO回归的特点是在拟合广义线性模型的同时进行变量筛选和复杂度调整,剔除存在共线性的变量 23 model.fit(data.iloc[:,:data.shape[1]-1],data.iloc[:,data.shape[1]-1]) 24 #pd.DataFrame(model.coef_,columns=['x%d' %i for i in np.arange(13)+1]) 25 model_coef=pd.DataFrame(pd.DataFrame(model.coef_).T) 26 model_coef.columns=['x%d' %i for i in np.arange(13)+1] 27 model_coef 28 #由系数表可知,系数值为零的要剔除,得到特征变量'x3','x5','x7','x11'

 

GM-Model

 GM-Model即灰色预测模型,灰色预测法是一种预测灰色系统的预测方法。灰色预测通过鉴别系统因素之间发展趋势的相异程度,即进行关联分析,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况。

灰色系统相对于白色、黑色系统,白色系统即系统的内部特征是完全已知的,既系统信息是完全充分的;黑色系统系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系来加以观测研究;灰色处于二者之间,部分已知部分未知,系统内各因素间有不确定的关系。

GM(1,1)重要概念

原始序列

 

 一次累加(1-AGO,Accumulating Generation Operator)及与原序列关系

 

紧邻均值生成(也可加权生成)及与AGO序列关系

GM(1,1)白化方程

白化方程的解及还原值

模型检验相关的残差序列

后验差检验中的p和C

更多详细可参加Ref或自行百度。

后验差检验

指标C(后验差)和p(小误差概率)是后验差检验的两重要指标【和计算得序列对应,非针对模型和某一特定值而是序列】,C越小越好,C越小即原始数据方差大,离散程度大,残差方差越小,离散程度小;C小表明尽管原始数据很离散,而模型所得计算值与实际值之差并不太离散。

指标p越大越好,p越大残差与残差平均值之差小于给定值0.6745的点较多,即拟合值(或预测值)分布比较均匀。

模型精度等级

均方差比值C

小误差概率p

1级(好)

C



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3